package com.dustedpixels.jasmin.disassembler;

import com.dustedpixels.jasmin.memory.Memory16x8;

/**
 * The disassembler.
 */
public interface Disassembler16x8 {
    /**
     * Disassembles specified number of bytes stored in the memory, starting at
     * specified address and writing the result to the output. Returns number of
     * bytes actually disassembled.
     * 
     * @param memory The memory to disassemble.
     * @param start The start address.
     * @param length The number of bytes to disassemble.
     * @param output The disassembler output.
     * @return The number of disassembled bytes.
     */
    int disassemble(Memory16x8 memory, short start, int length,
            Disassembler16x8Output output);
}
